using ERPBackend.Models;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace ERPBackend.Services
{
    public interface IWarehouseService
    {
        Task<IEnumerable<Warehouse>> GetAllWarehousesAsync();
        Task<Warehouse> GetWarehouseByIdAsync(int id);
        Task<Warehouse> GetWarehouseByCodeAsync(string warehouseCode);
        Task<Warehouse> CreateWarehouseAsync(Warehouse warehouse);
        Task<bool> UpdateWarehouseAsync(Warehouse warehouse);
        Task<bool> DeleteWarehouseAsync(int id);
        Task<bool> ChangeWarehouseStatusAsync(int id, byte status);
        Task<int> GetTotalWarehousesAsync();
        Task<IEnumerable<Warehouse>> GetWarehousesPagedAsync(int page, int pageSize);
    }
}